﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common.ControlDevice;
using System.Diagnostics;

namespace Common.Tool
{
    class LogManager
    {
        //// 引用日志模块
        //private static log4net.ILog RecordLogger;
        //// 日志保存路径
        //public static string RecordLogPath = String.Empty;

        ///**
        // * \brief 日志管理模块初始化
        //* \param[in] errorInfo 消息日至
        //* \retval void 空
        //*/
        //public LogManager()
        //{
        //    // 日志保存相关路径检查 2020.12.03 wj 增
        //    string saveLogPath = System.AppDomain.CurrentDomain.BaseDirectory + @"Log";
        //    if (!System.IO.Directory.Exists(saveLogPath))                 //判断文件路径是否存在，不存在则创建文件夹 
        //    {
        //        System.IO.Directory.CreateDirectory(saveLogPath);    //不存在就创建目录
        //    }
        //    else
        //    { }

        //    // DCT软件多开处理 2020.12.03 wj 增
        //    string logFileName = String.Empty;
        //    string logConfigPath = System.AppDomain.CurrentDomain.BaseDirectory + @"\Resources\LogConfig.xml";
        //    List<Process> processlist = System.Diagnostics.Process.GetProcessesByName("UnitedDCT").ToList();
        //    if (processlist.Count > 0)
        //    {
        //        // 日志信息信息绑定和关联(将日志改为以日期为单位)
        //        logFileName = String.Format("DCTRecord{0}_{1}.log", DateTime.Now.ToString("yyyyMMdd"), processlist.Count);
        //        RecordLogger = log4net.LogManager.GetLogger("DCT");
        //        log4net.GlobalContext.Properties["LogName"] = logFileName;
        //        log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(logConfigPath));
        //    }
        //    else
        //    {
        //        // 日志信息信息绑定和关联(将日志改为以日期为单位) 
        //        logFileName = "DCTRecord" + DateTime.Now.ToString("yyyyMMdd") + ".log";
        //        RecordLogger = log4net.LogManager.GetLogger("DCT");
        //        log4net.GlobalContext.Properties["LogName"] = logFileName;
        //        log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(logConfigPath));
        //    }
        //}

        ///**
        // * \brief 日志处理与响应函数
        // * \param[in] errorInfo 消息日至
        // * \retval void 空
        // */
        //public static void ShowLog(ErrorInfo errorInfo)
        //{
        //    // 根据信息类型，分类进行日志输出 2020.11.24 wj 增
        //    switch (errorInfo.ErrorLevel)
        //    {
        //        case ErrorLevelCategory.Info:
        //            RecordLogger.Info(errorInfo.Detail);
        //            break;
        //        case ErrorLevelCategory.Warning:
        //            switch (errorInfo.InfomationKind)
        //            {
        //                case 0:
        //                    RecordLogger.Warn(String.Format("Detail:{0}", errorInfo.Detail));
        //                    break;
        //                case 1:
        //                    RecordLogger.Warn(String.Format("No: {0},  Detail:{1}", errorInfo.Sequence, errorInfo.Detail));
        //                    break;
        //                case 2:
        //                    RecordLogger.Warn(String.Format("No: {0}, Type:{1}, DeviceName:{2}, Detail:{3}", errorInfo.Sequence, errorInfo.Type, errorInfo.DeviceName, errorInfo.Detail));
        //                    break;
        //                default:
        //                    break;
        //            }
        //            break;
        //        case ErrorLevelCategory.Error:
        //            switch (errorInfo.InfomationKind)
        //            {
        //                case 0:
        //                    RecordLogger.Error(String.Format("Detail:{0}", errorInfo.Detail));
        //                    break;
        //                case 1:
        //                    RecordLogger.Error(String.Format("No: {0},  Detail:{1}", errorInfo.Sequence, errorInfo.Detail));
        //                    break;
        //                case 2:
        //                    RecordLogger.Error(String.Format("No: {0}, Type:{1}, DeviceName:{2}, Detail:{3}", errorInfo.Sequence, errorInfo.Type, errorInfo.DeviceName, errorInfo.Detail));
        //                    break;
        //                default:
        //                    break;
        //            }
        //            break;
        //        case ErrorLevelCategory.Message:
        //            RecordLogger.Fatal(errorInfo.Detail);
        //            break;
        //        default:
        //            break;
        //    }
        //}
    }
}
